package com.sky.wsp.job.dao.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * @author wangshaopeng@talkweb.com.cn
 * @desccription 在此输入描述
 * @date 2023/8/14
 */
@TableName(value = "wsp_job", autoResultMap = true)
public class JobVO {
    /**
     * 招聘关键字
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 招聘关键字
     */
    private String jobName;
    /**
     * 详情URL
     */
    private String url;
    /**
     * 公司行业
     */
    private String industry;
    /**
     * 公司名称
     */
    private String company;
    /**
     * 公司规模
     */
    private String scale;
    /**
     * 融资阶段
     */
    private String stage;
    /**
     * 地点
     */
    private String location;


    /**
     * 月薪
     */
    private String salary;
    /**
     * 要求年限
     */
    private String age;
    /**
     * 学历
     */
    private String education;
    /**
     * 职责描述、岗位职责
     */
    private String duty;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getJobName() {
        return jobName;
    }

    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getIndustry() {
        return industry;
    }

    public void setIndustry(String industry) {
        this.industry = industry;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getScale() {
        return scale;
    }

    public void setScale(String scale) {
        this.scale = scale;
    }

    public String getStage() {
        return stage;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getSalary() {
        return salary;
    }

    public void setSalary(String salary) {
        this.salary = salary;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getDuty() {
        return duty;
    }

    public void setDuty(String duty) {
        this.duty = duty;
    }

    @Override
    public String toString() {
        return "JobVO{" +
                "jobName='" + jobName + '\'' +
                ", url='" + url + '\'' +
                ", industry='" + industry + '\'' +
                ", company='" + company + '\'' +
                ", scale='" + scale + '\'' +
                ", stage='" + stage + '\'' +
                ", location='" + location + '\'' +
                ", salary='" + salary + '\'' +
                ", age='" + age + '\'' +
                ", education='" + education + '\'' +
                ", duty='" + duty + '\'' +
                '}';
    }

    public static class JobVOBuilder {
        private JobVO jobVO;

        private JobVOBuilder() {
            jobVO = new JobVO();
        }

        public JobVOBuilder withJobName(String jobName) {
            jobVO.jobName = jobName;
            return this;
        }

        public JobVOBuilder withUrl(String url) {
            jobVO.url = url;
            return this;
        }

        public JobVOBuilder withIndustry(String industry) {
            jobVO.industry = industry;
            return this;
        }

        public JobVOBuilder withCompany(String company) {
            jobVO.company = company;
            return this;
        }

        public JobVOBuilder withScale(String scale) {
            jobVO.scale = scale;
            return this;
        }

        public JobVOBuilder withStage(String stage) {
            jobVO.stage = stage;
            return this;
        }

        public JobVOBuilder withLocation(String location) {
            jobVO.location = location;
            return this;
        }

        public JobVOBuilder withSalary(String salary) {
            jobVO.salary = salary;
            return this;
        }

        public JobVOBuilder withAge(String age) {
            jobVO.age = age;
            return this;
        }

        public JobVOBuilder withEducation(String education) {
            jobVO.education = education;
            return this;
        }

        public JobVOBuilder withDuty(String duty) {
            jobVO.duty = duty;
            return this;
        }

        public static JobVOBuilder jobVO() {
            return new JobVOBuilder();
        }

        public JobVO build() {
            return jobVO;
        }
    }
}
